// pages/detail/detail.js
Page({

    /**
     * 页面的初始数据
     */
    data: {
        query:{},
        shopList:[],
        page:1,
        pageSize:10,
        total:0,
        loading:false
    },

    /**
     * 生命周期函数--监听页面加载
     */
    onLoad: function (options) {
        this.setData({
            query:options
        });
        this.getList();
    },
    // 数据交互
    getList(){
        // 加载数据showloading效果
        wx.showLoading({
          title: '数据加载中...',
        })
        // 将节流阀变为true
        this.setData({
            loading:true
        })
        wx.request({
          url: `https://www.escook.cn/categories/${this.data.query.id}/shops`,
          data:{
              _page:this.data.page,//请求的第几页数据
              _limit:this.data.pageSize//每页请求多少条数据
          },
          success:(res)=>{
              console.log(res);
              this.setData({
                //   shoplist  this.data.shopList [{}，{}] +  res.data[{},{}]   [{},{},{}]
                  shopList: [...this.data.shopList,...res.data],
                  total: res.header['X-Total-Count'] - 0
              })
          },
        //  完成数据请求之后出发该函数
          complete:()=>{
              this.setData({
                  loading:false
              });
            //  当数据加载完成之后隐藏loading图
            wx.hideLoading()
          }
        })
    },
    test(){
        wx.request({
          url: 'http://localhost:3000/gettest',
          method:'GET',//请求的方式
          data:{//发送到服务器的参数
              name:'tom',
              age:10
          },
          success:(res)=>{//请求成功之后的回调函数 此处建议使用箭头函数，否则this指向有问题
            console.log(res);
          }
        })
    },
    /**
     * 生命周期函数--监听页面初次渲染完成
     */
    onReady: function () {
        wx.setNavigationBarTitle({
          title: this.data.query.title,
        })
    },

    /**
     * 生命周期函数--监听页面显示
     */
    onShow: function () {

    },

    /**
     * 生命周期函数--监听页面隐藏
     */
    onHide: function () {

    },

    /**
     * 生命周期函数--监听页面卸载
     */
    onUnload: function () {

    },

    /**
     * 页面相关事件处理函数--监听用户下拉动作
     */
    onPullDownRefresh: function () {
        console.log('pulldown');
        // 重置数据
        this.setData({
            page:1,
            shopList:[],
            total:0
        })
        // 重新发起数据请求
        this.getList();
        // 当所有逻辑完成之后  手动关闭下拉刷新效果
        wx.stopPullDownRefresh()
    },

    /**
     * 页面上拉触底事件的处理函数
     */
    onReachBottom: function () {
        // 当没有下一页数据时，进行提醒 return 
        if(this.data.page * this.data.pageSize >= this.data.total){
            return wx.showToast({
              title: '数据加载完成',
              icon:'none'
            })
        }

        // 判断是否发送数据请求  loading
        if(this.data.loading) return
        console.log('on bottom');
        // 下拉触底之后发送网络数据请求  
        // 触底一次加1  意思 触底一次data中的page+1
        this.setData({
            page: this.data.page + 1
        })
        this.getList();
    },

    /**
     * 用户点击右上角分享
     */
    onShareAppMessage: function () {

    }
})